#include "stdafx.h"
#include "GeomUtils.h"
#include <cmath>



bool GeIsZero(double d, double dTol/* = g_dMathTol*/)
{
	return GeEqual(d, 0.0, dTol);
}

bool GeEqual(double d1, double d2, double dTol)
{
	return fabs(d1 - d2) <= dTol;
}

bool GeLargerThan(double d1, double d2, double dTol)
{
	if (GeEqual(d1, d2, dTol))
	{
		return false;
	}

	return d1 > d2;
}

bool GeLargerThanOrEqual(double d1, double d2, double dTol)
{
	if (GeEqual(d1, d2, dTol))
	{
		return true;
	}
	return GeLargerThan(d1, d2, dTol);
}

bool GeLessThan(double d1, double d2, double dTol)
{
	if (GeEqual(d1, d2, dTol))
	{
		return false;
	}

	return d1 < d2;
}

bool GeLessThanOrEqual(double d1, double d2, double dTol)
{
	if (GeEqual(d1, d2, dTol))
	{
		return true;
	}
	return GeLessThan(d1, d2, dTol);
}

namespace GeomUtils
{
	double PI()
	{
		return 3.1415926535897932384626433832795028841971693993751;
	}
	double PI90()
	{
		return PI()*0.5;
	}
	double PI270()
	{
		return PI()*1.5;
	}
	double PI45()
	{
		return PI()*0.25;
	}
	double PI30()
	{
		return PI()/6;
	}
	double PI60()
	{
		return PI()/3;
	}

	double GetMathTol()
	{
		return g_dMathTol;
	}

	double GetDrawingTol()
	{
		return g_dDrawingTol;
	}
}
